import request from '@/config/axios'

// 采购单主 VO
export interface PurchaseOrderVO {
  id: number // 主键
  userId: number // 申请人的用户编号
  userName: string // 申请人姓名
  orderNo: string // 采购单号
  remarks: string // 备注
  status: number // 审批结果
  processInstanceId: string // 流程实例的编号
  creatorName: string // 创建者
  updaterName: string // 更新者
}

// 采购单主 API
export const PurchaseOrderApi = {
  // 查询采购单主分页
  getPurchaseOrderPage: async (params: any) => {
    return await request.get({ url: `/oa/purchase-order/page`, params })
  },

  // 查询采购单主详情
  getPurchaseOrder: async (id: number) => {
    return await request.get({ url: `/oa/purchase-order/get?id=` + id })
  },

  // 新增采购单主
  createPurchaseOrder: async (data: PurchaseOrderVO) => {
    return await request.post({ url: `/oa/purchase-order/create`, data })
  },

  // 修改采购单主
  updatePurchaseOrder: async (data: PurchaseOrderVO) => {
    return await request.put({ url: `/oa/purchase-order/update`, data })
  },

  // 删除采购单主
  deletePurchaseOrder: async (id: number) => {
    return await request.delete({ url: `/oa/purchase-order/delete?id=` + id })
  },

  // 导出采购单主 Excel
  exportPurchaseOrder: async (params) => {
    return await request.download({ url: `/oa/purchase-order/export-excel`, params })
  },
}


// 采购单明细 VO
export interface PurchaseOrderItemVO {
  id: number // 主键
  purchaseOrderId: number // 采购单ID
  materialId: number // 物料ID
  materialCode: string // 物料编码
  materialName: string // 物料名称
  materialType: number // 物料类型
  unitType: number // 单位
  quantity: number // 数量
  price: number // 价格
  totalPrice: number // 价格
  remarks: string // 备注
  creatorName: string // 创建者
  updaterName: string // 更新者
}

// 采购单明细 API
export const PurchaseOrderItemApi = {
  // 查询采购单明细分页
  getPurchaseOrderItemPage: async (params: any) => {
    return await request.get({ url: `/oa/purchase-order-item/page`, params })
  },

  // 查询采购单明细详情
  getPurchaseOrderItem: async (id: number) => {
    return await request.get({ url: `/oa/purchase-order-item/get?id=` + id })
  },

  // 新增采购单明细
  createPurchaseOrderItem: async (data: PurchaseOrderItemVO) => {
    return await request.post({ url: `/oa/purchase-order-item/create`, data })
  },

  // 修改采购单明细
  updatePurchaseOrderItem: async (data: PurchaseOrderItemVO) => {
    return await request.put({ url: `/oa/purchase-order-item/update`, data })
  },

  // 删除采购单明细
  deletePurchaseOrderItem: async (id: number) => {
    return await request.delete({ url: `/oa/purchase-order-item/delete?id=` + id })
  },

  // 导出采购单明细 Excel
  exportPurchaseOrderItem: async (params) => {
    return await request.download({ url: `/oa/purchase-order-item/export-excel`, params })
  },
}

